/////////////////////////////////////////////////////////////////////////////
// Name:        testgrid.h
// Purpose:     
// Author:      Aleksey Plotnikov
// Modified by: 
// Created:     01/03/2011 08:56:22
// RCS-ID:      
// Copyright:   Diamant Group
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _TESTGRID_H_
#define _TESTGRID_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/grid.h"
////@end includes

#include "TestCommon.h"

/*!
 * Forward declarations
 */

////@begin forward declarations
class TestGrid;
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_GRID 10001
#define SYMBOL_TESTGRID_STYLE wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL
#define SYMBOL_TESTGRID_IDNAME ID_GRID
#define SYMBOL_TESTGRID_SIZE wxSize(200, 150)
#define SYMBOL_TESTGRID_POSITION wxDefaultPosition
////@end control identifiers


/**********************************************************************************************/
WX_DECLARE_OBJARRAY( TestFunction, TestFunctionArray );


/*!
 * TestGrid class declaration
 */

class TestGrid: public wxGrid
{    
    DECLARE_DYNAMIC_CLASS( TestGrid )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    TestGrid();
    TestGrid(wxWindow* parent, wxWindowID id = ID_GRID, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(200, 150), long style = wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL);

    /// Creation
    bool Create(wxWindow* parent, wxWindowID id = ID_GRID, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize(200, 150), long style = wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL);

    /// Destructor
    ~TestGrid();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin TestGrid event handler declarations

////@end TestGrid event handler declarations

////@begin TestGrid member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end TestGrid member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

public: // USER Functions

	// Set params of the grid
	void				set_GridMode( void );

	// Get summary tests count
	unsigned			get_TestCount( void )			{ return m_TestCount; };

	// Add test to the grid list
	void				add_Test( TestItem_Ptr item );
			

////@begin TestGrid member variables
////@end TestGrid member variables

private: 

	unsigned			m_TestCount;			// count of tests summary
	TestFunctionArray	m_FuncArray;			// array of test functions;
};

#endif
    // _TESTGRID_H_
